package com.codemes.happylist.config;

import org.springframework.core.task.TaskDecorator;
//import org.springframework.web.context.request.RequestAttributes;
//import org.springframework.web.context.request.RequestContextHolder;
//
///**
// * <p>Description: [ContextDecorator
// * 传递上下文到子线程中
// * ]</p >
// * @author nscoffee
// */
//public class ThreadPoolContextDecorator implements TaskDecorator {
//
//    @Override
//    public Runnable decorate(Runnable runnable) {
//        try {
//            RequestAttributes context = RequestContextHolder.currentRequestAttributes();
//            return () -> {
//                try {
//                    RequestContextHolder.setRequestAttributes(context);
//                    runnable.run();
//                } finally {
//                    RequestContextHolder.resetRequestAttributes();
//                }
//            };
//        } catch (IllegalStateException e) {
//            e.printStackTrace();
//            // 这里异常就不传递子线程
//            return () -> {
//                try {
//                    runnable.run();
//                } finally {
//                    RequestContextHolder.resetRequestAttributes();
//                }
//            };
//        }
//    }
//
//}
